package com.example.commonmybatisplus.dao;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.commonmybatisplus.entity.UserEntity;
import com.example.commonmybatisplus.utils.BaseDao;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Map;

/**
 * 用户刀
 *
 * @Author ifredomvip@gmail.com
 * @Date 2022/5/27 16:41
 * @Version 1.0.0
 * @Description
 **/
@Mapper
public interface UserDao extends BaseDao<UserEntity> {
    /**
     * 选择通过id映射类型
     * 选择地图通过id
     *
     * @param id id
     * @return {@link Map}<{@link String}, {@link Object}>
     */
    @MapKey("id")
    Map<String, Object> selectMapById(Long id);

    /**
     * 根据年龄查询用户信息并分页
     * @param page mybatisplus提供的分页对象，必须放在第一个参数
     * @param age age
     * @return Page<UserEntity>
     */
    Page<UserEntity> selectUserList(@Param("page") Page<UserEntity> page, @Param("age") Integer age);
}
